package yl.hs.bmipfull.service.report;

import yl.hs.bmipfull.viewmodels.PageQuery;

import java.util.List;
import java.util.Map;

/**
 * @author 张凯
 * @apiNote 销售统计
 * @since 2022/2/22 9:04 上午 创建
 */
public interface ISalesStatisticService {


    /**
     * 根据类型获取工程发货分析
     * @param productCateSn 产品类型
     * @param pageQuery 查询条件
     * @return 发货分析数据
     * @throws Exception  抛出异常
     */
    List<Map<String,Object>> queryProjectStatistic(PageQuery pageQuery, String productCateSn) throws Exception;


    /**
     * 产品发货分析
     * @param pageQuery 查询条件
     * @param productCateSn 产品类型sn
     * @return 结果
     * @throws Exception 抛出异常
     */
    List<Map<String,Object>> productSaleReport(PageQuery pageQuery,String productCateSn) throws Exception;
    /**
     * 客户发货分析
     * @param query 查询条件
     * @param sn 产品类型sn
     * @return 结果
     */
    List<Object> queryCustomerAnalysis(PageQuery query, String sn);

    /**
     * 车辆发货统计
     * @param pageQuery 查询条件
     * @param productCateSn 产品类型sn
     * @return 结果
     * @throws Exception 抛出异常
     */
    List<Map<String,Object>> queryTruckSaleReport(PageQuery pageQuery,String productCateSn) throws Exception;
    List<Object> queryBrickCustomerAnalysis(PageQuery query);
    Map<String,Object> queryBrickProductAnalysis(PageQuery query);
    List<Map<String, Object>> queryBrickProjectAnalysis(PageQuery query);
}
